<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

namespace Acesso\Model\Table;

use Zend\Db\TableGateway\TableGateway;

/**
 * Description of LoginTable
 *
 * @author Renato.Laranjo
 */
class Login
{

    protected $tableGateway;

    public function __construct( TableGateway $tableGateway )
    {
        $this->tableGateway = $tableGateway;

    }

    public function fetchAll()
    {
        $resultSet = $this->tableGateway->select();
        return $resultSet;

    }

    public function getAlbum( $id )
    {
        $id     = (int) $id;
        $rowset = $this->tableGateway->select( array('id' => $id) );
        $row    = $rowset->current();
        if (!$row) {
            throw new \Exception( "Could not find row $id" );
        }
        return $row;

    }

    public function saveAlbum( Album $album )
    {
        $data = array(
            'artist' => $album->artist,
            'title'  => $album->title,
        );

        $id = (int) $album->id;
        if ($id == 0) {
            $this->tableGateway->insert( $data );
        } else {
            if ($this->getAlbum( $id )) {
                $this->tableGateway->update( $data, array('id' => $id) );
            } else {
                throw new \Exception( 'Form id does not exist' );
            }
        }

    }

    public function deleteAlbum( $id )
    {
        $this->tableGateway->delete( array('id' => $id) );

    }

}
